home *** CD-ROM | disk | FTP | other *** search
/ TPUG - Toronto PET Users Group / TPUG Users Group CD / TPUG Users Group CD.iso / C64 / X-Demos and Utilities / (c)x1.d64 / sprites.d (.txt) < prev   
Commodore BASIC  |  2008-11-26  |  6KB  |  163 lines

  1. 5 PRINTCHR$(142):PRINTCHR$(8)
  2. 10 SP$="[149]                                 "
  3. 20 S=53248:V=54272:POKE53281,0:POKE53280,5
  4. 24 FORI=0TO28:POKEV+I,0:NEXT
  5. 25 R$="[169]                   ":POKES+27,0
  6. 30 PRINT"[147]":POKEV+24,15:POKES+28,0
  7. 35 FORI=1TO3:PRINTTAB(12-I)LEFT$(R$,20-(6-I*2))"[223]":NEXT
  8. 40 FORI=1TO2:PRINTTAB(9)LEFT$(SP$,21):NEXT
  9. 45 FORI=1TO4:PRINTTAB(9)LEFT$(SP$,5)TAB(15)LEFT$(SP$,4)TAB(20)LEFT$(SP$,4);
  10. 46 PRINTTAB(25)LEFT$(SP$,5):NEXT
  11. 50 FORI=1TO4:PRINTTAB(9)LEFT$(SP$,21):NEXT
  12. 60 FORI=1TO3:READX,Y,SN:POKES+SN*2,X:POKES+SN*2+1,Y:NEXT
  13. 70 DATA121,88,0,160,88,3,201,88,4,1,0,7,3,12,4
  14. 75 FORI=1TO3:READC,SN:POKES+39+SN,C:NEXT
  15. 76 POKE2040,192:POKE2043,196:POKE2044,195
  16. 80 POKES+23,25:POKES+29,0
  17. 85 PRINT""TAB(11)"SPRITE GRAPHICS"
  18. 86 POKES+21,1:POKEV+4,0:POKEV+5,12:POKEV+1,20:POKEV+4,17
  19. 90 PRINT"THE SPRITE GRAPHICS ON THE COMMODORE 64"
  20. 95 FORI=1TO4000:NEXT
  21. 100 PRINT" ARE BETTER THAN ANY OFFERED BY OTHER"
  22. 110 PRINT"COMPUTERS"
  23. 115 POKES+21,9:POKEV+4,0:POKEV+5,12:POKEV+1,30:POKEV+4,17:FORI=1TO4000:NEXT
  24. 120 PRINT"   AND THAT COMES STRAIGHT FROM THE"
  25. 121 PRINT"HORSES MOUTH"
  26. 125 POKES+21,25:POKEV+4,0:POKEV+5,12:POKEV+1,40:POKEV+4,17:FORI=1TO2000:NEXT
  27. 130 A(1,0)=1:A(2,0)=1:A(3,0)=-1
  28. 134 A(1,1)=193:A(2,1)=196:A(3,1)=195
  29. 135 FORI=1TO75:FORJ=1TO3
  30. 140 IFA(J,1)=192ORA(J,1)=198THENA(J,0)=-A(J,0)
  31. 145 A(J,1)=A(J,1)+A(J,0):NEXT
  32. 150 POKE2040,A(1,1):POKE2043,A(2,1):POKE2044,A(3,1):NEXT:POKES+21,0:PRINT"[147]"
  33. 160 PRINT" THESE ARE THE MAIN FEATURES OF SPRITES"
  34. 165 PRINT" [183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183]"
  35. 166 FORI=1TO3000:NEXT
  36. 170 CD$="":POKES+23,0
  37. 175 POKES+29,0:POKES+28,1:POKES+37,2:POKES+38,5:POKES+39,1:POKES+1,80
  38. 180 P$="EXPANSION IN THE X DIRECTION":PRINTLEFT$(CD$,5):GOSUB570:POKES+29,1
  39. 182 FORI=1TO255:POKEV+1,30+(IAND15):NEXT
  40. 184 FORI=250TO1STEP-1:POKES,I:POKEV+1,IAND(15):NEXT:POKES+29,0
  41. 186 POKES+1,98
  42. 190 FORI=1TO100:NEXT
  43. 195 PRINTLEFT$(CD$,7):P$="EXPANSION IN THE Y DIRECTION":POKEV+6,0:GOSUB570
  44. 196 POKES+23,1:FORI=1TO255:POKEV+1,30+(IAND15):NEXT
  45. 197 FORI=250TO1STEP-1:POKES,I:POKEV+1,IAND(15):NEXT:POKES+23,0
  46. 200 FORI=1TO100:NEXT:POKES+29,0:POKES+1,116
  47. 205 PRINTLEFT$(CD$,9):P$="EXPANSION IN BOTH DIRECTIONS":POKEV+6,0:GOSUB570
  48. 206 POKES+23,1:POKES+29,1:FORI=1TO255:POKEV+1,30+(IAND15):NEXT
  49. 210 FORI=250TO1STEP-1:POKES,I:POKEV+1,IAND(15):NEXT:POKES+23,0:POKES+29,0
  50. 215 POKEV+6,0
  51. 220 FORI=1TO2000:NEXT:PRINT"SPRITES CAN PASS OVER TEXT":POKES+1,138
  52. 224 POKEV+4,0:POKEV+6,240:POKEV+4,17
  53. 225 FORI=1TO250:POKES,I:POKEV+1,I:NEXT
  54. 226 POKEV+6,0
  55. 227 POKEV+4,0:POKEV+6,240:POKEV+4,17
  56. 228 FORI=250TO1STEP-1:POKES,I:POKEV+1,I:NEXT
  57. 229 POKEV+4,0:POKEV+6,0
  58. 230 PRINT"OR UNDER IT":POKES+27,1
  59. 234 POKEV+4,0:POKEV+6,240:POKEV+4,17
  60. 235 FORI=1TO250:POKES,I:POKEV+1,I:NEXT
  61. 236 POKEV+6,0
  62. 237 POKEV+4,0:POKEV+6,240:POKEV+4,17
  63. 238 FORI=250TO1STEP-1:POKES,I:POKEV+1,I:NEXT
  64. 239 POKEV+4,0:POKEV+6,0
  65. 240 PRINT"WITH FULL COLLISION DETECTION BETWEEN"
  66. 245 PRINT"SPRITES AND SCREEN DATA"
  67. 246 FORI=1TO3000:NEXT
  68. 250 POKES+1,80:POKES,254:Y=80
  69. 255 T=PEEK(S+31)
  70. 260 Y=Y+1:POKES+1,Y:IFPEEK(S+31)<>0THEN270
  71. 265 POKEV+4,0:POKEV+1,5:POKEV+4,33:FORJ=1TO40:NEXT
  72. 266 POKEV+4,0:POKEV+1,90:POKEV+4,33:FORJ=1TO40:NEXT
  73. 267 GOTO260
  74. 270 FORI=1TO20:POKES+37,15*RND(1):POKES+38,15*RND(1):POKES+39,15*RND(1):NEXT
  75. 274 POKEV+1,10:POKES+37,2:POKES+38,7:POKES+39,1
  76. 275 POKEV+4,0:POKEV+4,129
  77. 280 FORI=202TO209:POKE2040,I:FORJ=1TO90:NEXT:NEXT
  78. 285 POKES+23,1:POKES+29,1:POKES,242:POKES+1,PEEK(S+1)-9
  79. 286 POKEV+4,0:POKEV+4,129
  80. 290 FORI=202TO209:POKE2040,I:FORJ=1TO90:NEXT:NEXT
  81. 291 POKEV+4,0:POKEV+4,129
  82. 292 FORI=202TO209:POKE2040,I:FORJ=1TO70:NEXT:NEXT
  83. 293 POKEV+4,0:POKEV+4,129
  84. 294 FORI=202TO209:POKE2040,I:FORJ=1TO50:NEXT:NEXT
  85. 295 POKEV+4,0:POKEV+4,129
  86. 296 FORI=202TO209:POKE2040,I:FORJ=1TO5:POKES+39,15*RND(1):NEXT:NEXT
  87. 298 FORI=202TO209:POKE2040,I:FORJ=1TO5:POKES+39,15*RND(1):NEXT:NEXT:POKES+21,0
  88. 300 FORI=1TO2000:NEXT:PRINT"[147]"
  89. 305 PRINT"AS WELL AS BEING MULTICOLOR....":FORI=1TO3000:NEXT
  90. 310 POKES+23,0:POKES+29,0:POKE2040,199:POKES,30:POKES+1,56:POKES+21,1
  91. 315 POKES+37,5:POKES+38,2:POKES+39,1
  92. 320 FORI=1TO15:POKES+23,1:PRINT"LIKE ME !"
  93. 321 POKEV+4,0:POKEV+1,10:POKEV+5,7:POKEV+4,129
  94. 325 FORK=1TO150:NEXT:POKES+23,0:PRINT"LIKE ME !"
  95. 330 FORK=1TO150:NEXT:NEXT
  96. 335 PRINT"         "
  97. 340 PRINT"   SPRITES CAN ALSO BE ANY ONE OF 16"
  98. 345 PRINT"          DIFFERENT COLORS.":FORI=1TO2000:NEXT
  99. 350 POKE2041,210:POKES+23,2:POKES+29,2:POKES+40,0:POKES+21,3:POKES+2,145
  100. 355 POKES+3,140:FORI=1TO15:POKES+40,I:FORJ=1TO100:NEXT:NEXT
  101. 356 FORI=210TO218:POKE2041,I:FORH=1TO50:NEXT:NEXT
  102. 360 PRINT"ISN'T IT ABOUT TIME THAT YOU BOUGHT"
  103. 365 PRINT" A COMMODORE 64 "
  104. 370 FORI=1TO4000:NEXT:POKES+21,0
  105. 375 PRINT"[147]UP TO EIGHT SPRITES CAN BE DISPLAYED"
  106. 380 PRINT"ON THE SCREEN AT A TIME......"
  107. 385 FORI=0TO7:POKE2040+I,199:POKES+I*2,160:POKES+1+I*2,140:POKES+39+I,I+1
  108. 390 READX(I),Y(I):NEXT:POKES+23,0:POKES+29,0:POKES+28,255
  109. 395 DATA1,-1,1,0,1,1,0,1,-1,1,-1,0,-1,-1,0,-1
  110. 396 POKES+21,255
  111. 400 FORI=1TO3000:NEXT:FORJ=1TO50:FORI=0TO7:POKES+I*2,PEEK(S+I*2)+X(I)
  112. 405 POKEV+4,0:POKEV+1,J:POKEV+4,33
  113. 410 POKES+1+I*2,PEEK(S+1+I*2)+Y(I):NEXT:POKEV+4,0:POKEV+1,70:POKEV+4,17:NEXT
  114. 415 FORI=0TO7:X(I)=X(I)*4:Y(I)=Y(I)*4:X(I)=-X(I):Y(I)=-Y(I):NEXT:D=PEEK(S+30)
  115. 420 FORI=1TO2000:NEXT
  116. 430 FORI=0TO7:POKES+I*2,PEEK(S+I*2)+X(I)
  117. 435 POKEV+4,0:POKEV+1,J:POKEV+4,33
  118. 440 POKES+1+I*2,PEEK(S+1+I*2)+Y(I):NEXT:POKEV+4,0:POKEV+1,70:POKEV+4,17
  119. 445 IFPEEK(S+30)<>255THEN430
  120. 446 POKEV+4,0:POKEV+1,10:POKEV+5,12:POKEV+4,129
  121. 450 FORI=202TO209:FORJ=0TO7:POKE2040+J,I:NEXT:NEXT:POKES+21,0
  122. 455 PRINT"WITH FULL COLLISION DETECTION BETWEEN"
  123. 460 PRINT"EACH INDIVIDUAL SPRITE"
  124. 470 GOTO610
  125. 530 PRINTLEFT$(CD$,15)TAB(10)"                    "
  126. 540 PRINTLEFT$(CD$,15)TAB(20-LEN(P$)/2)P$:RETURN
  127. 560 END
  128. 570 POKEV+4,0:POKEV+6,240:POKEV+4,17
  129. 580 POKES+21,1:FORI=1TO250STEP3.5:POKES,I:POKE2040,199+(IAND3)
  130. 585 PRINTLEFT$(P$,(LEN(P$)/250)*I+1)"[145]"
  131. 590 POKEV+1,30+(IAND7):NEXT
  132. 600 RETURN
  133. 610 FORI=1TO4000:NEXT:PRINT"[147][150]"TAB(17)"SOUND":POKE53281,1
  134. 615 PRINT" THE SOUND OUTPUT OF THE COMMODORE 64"
  135. 620 PRINT" IS UNPARALLELED BY ANY OTHER COMPUTER"
  136. 625 FORI=1TO4000:NEXT:PRINT" THERE ARE THREE TOTALLY INDEPENDENT"
  137. 630 PRINT" VOICES AND CONTROL IS PROVIDED OVER:-":FORI=1TO4000:NEXT
  138. 635 P$="WAVEFORM":GOSUB530
  139. 640 FORI=1TO2000:NEXT:POKEV+4,0:POKEV,20:POKEV+1,15:POKEV+5,12
  140. 645 PRINTTAB(16)"TRIANGLE":POKEV+4,17
  141. 650 FORI=1TO2000:NEXT:POKEV+4,0:POKEV,20:POKEV+1,15:POKEV+5,12
  142. 655 PRINTTAB(16)"[145]SAWTOOTH":POKEV+4,33
  143. 660 FORI=1TO2000:NEXT:POKEV+4,0:POKEV,20:POKEV+1,15:POKEV+5,12:POKEV+2,255
  144. 665 PRINTTAB(16)"[145] PULSE  ":POKEV+4,65
  145. 670 FORI=1TO2000:NEXT:POKEV+4,0:POKEV,20:POKEV+1,15:POKEV+5,12:POKEV+2,255
  146. 675 PRINTTAB(16)"[145] NOISE  ":POKEV+4,129
  147. 680 FORI=1TO2000:NEXT
  148. 685 PRINTTAB(16)"[145]        "
  149. 686 P$="FREQUENCY":GOSUB530
  150. 688 FORI=0TO250STEP5
  151. 690 POKEV+4,0:POKEV,20:POKEV+1,I:POKEV+5,12:POKEV+4,17
  152. 700 IFI=70THENPRINTTAB(10)"* ATTACK/DECAY"
  153. 705 IFI=140THENPRINTTAB(10)"* SUSTAIN/RELEASE"
  154. 710 IFI=200THENPRINTTAB(10)"* THREE PROGRAMMABLE FILTERS"
  155. 715 FORJ=1TO130:NEXT:NEXT
  156. 720 FORI=1TO200:NEXT:PRINT"[147]"TAB(12)"THE COMMODORE 64"
  157. 725 PRINTTAB(7)"MUSICIAN OF THE YEAR AWARD":POKES+28,0
  158. 730 POKEV+24,15:POKE780,8:SYS7*4096
  159. 740 IFPEEK(788)<>49THEN740
  160. 750 PRINT"[147]LOAD"CHR$(34)"BOOT.UK1"CHR$(34)",8"
  161. 755 POKE631,13:POKE632,ASC("R"):POKE633,ASC("[213]"):POKE634,13:POKE198,4
  162. 760 PRINT"";:NEW
  163.